package br.com.vendas.menu.filme.crud.consulta;

import java.io.IOException;
import java.util.List;

import br.com.vendas.dao.FilmeDAO;
import br.com.vendas.dao.impl.FilmeImpl;
import br.com.vendas.dominio.Filme;
import br.com.vendas.exception.ArqException;
import br.com.vendas.menu.ItemMenu;
import br.com.vendas.menu.ListaMenus;
import br.com.vendas.menu.Menu;

public class ItemConsultaFilmeNome extends ItemMenu {
	private Filme filme;
	private ConsultorFilme consultor;
	
	public ItemConsultaFilmeNome(ConsultorFilme consultor) {
		this.consultor = consultor;
		init();
	}

	public ItemConsultaFilmeNome() {
		init();
	}

	private void init() {
		filme = new Filme();
	}
	
	@Override
	public int getId() {
		return 1;
	}

	@Override
	public String getNome() {
		return "Buscar Filme pelo Nome";
	}

	@Override
	protected void processamento() throws IOException, ArqException {
		String nomeFilme = solicitaDado("Digite o nome do filme:");
		FilmeDAO dao = new FilmeImpl();
		
		List<Filme> filmes = dao.buscarFilmePorNome(nomeFilme);
		
		Menu menu = ListaMenus.getMenuSelecionarFilmes(filmes, consultor);
		menu.processar();
		
		if (consultor != null && filme != null){
			consultor.setFilmeConsultado(filme);
			consultor.finalizaSelecaoFilme();
		}
	}
	
	

}
